struct _GtkMenuPrivate
{
- gboolean seen_enter;
- gboolean seen_motion;
gboolean have_position;
gint x;
gint y;
GtkWidget *parent;
GdkEvent *current_event;
GtkMenuShell *menu_shell;
- GtkMenuPrivate *priv = gtk_menu_get_private (menu);
g_return_if_fail (GTK_IS_MENU (menu));
menu_shell = GTK_MENU_SHELL (menu);
menu_shell->parent_menu_shell = parent_menu_shell;
-
- priv->seen_enter = FALSE;
- priv->seen_motion = FALSE;
/* Find the last viewable ancestor, and make an X grab on it
*/
gboolean need_enter;
if (GTK_IS_MENU (widget))
- {
- GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (widget));
-
- gtk_menu_handle_scrolling (GTK_MENU (widget), TRUE);
-
- priv->seen_motion = TRUE;
- if (priv->seen_enter)
- {
- /* After having seen both a motion and an enter,
- * button releases should be interpreted as "activate".
- */
-
- GTK_MENU_SHELL (widget)->activate_time = 0;
- }
- }
+ gtk_menu_handle_scrolling (GTK_MENU (widget), TRUE);
/* We received the event for one of two reasons:
*
if (widget && GTK_IS_MENU (widget))
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
- GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (widget));
if (!menu_shell->ignore_enter)
gtk_menu_handle_scrolling (GTK_MENU (widget), TRUE);
-
- priv->seen_enter = TRUE;
- if (priv->seen_motion)
- {
- /* After having seen both a motion and an enter,
- * button releases should be interpreted as "activate".
- */
-
- GTK_MENU_SHELL (widget)->activate_time = 0;
- }
}
/* If this is a faked enter (see gtk_menu_motion_notify), 'widget'